<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */


require_once '../dao/Conexao.php';
require_once '../model/produtoModel.php';

/**
 * Description of produtoDAO
 *
 * @author Santos
 */
class produtoDAO {

    public function setDados(produtoModel $model) {
        $conexao = new Conexao();
        if ($this->getAcao($model) == "I") {
            $sql = "INSERT INTO 
                `produto`
              (
                `ID_PK`,
                `CATEGORIA_FK`,
                `NOME`,
                `REFERENCIA`,
                `ESTOQUE`,
                `PRECO_CUSTO`,
                `PRECO_VENDA`,
                `UNIDADE`) 
              VALUE (
                " . $model->getId() . ",
                " . $model->getCategoriaModel()->getId() . ",
                '" . $model->getNome() . "',
                '" . $model->getReferencia() . "',
                " . $model->getEstoque() . ",
                " . $model->getPrecoCusto() . ",
                " . $model->getPrecoVenda() . ",
                '" . $model->getUnidade() . "')";
        } elseif ($this->getAcao($model) == "U") {
            $sql = "UPDATE 
                    `produto`  
                  SET 
                    `CATEGORIA_FK` = " . $model->getCategoriaModel()->getId() . ",
                    `NOME` = '" . $model->getNome() . "',
                    `REFERENCIA` = '" . $model->getReferencia() . "',
                    `ESTOQUE` = " . $model->getEstoque() . ",
                    `PRECO_CUSTO` = " . $model->getPrecoCusto() . ",
                    `PRECO_VENDA` = " . $model->getPrecoVenda() . ",
                    `UNIDADE` = '" . $model->getUnidade() . "'
                  WHERE 
                    `ID_PK` = " . $model->getId() . "";
        }
        $resultado = mysql_query($sql, $conexao->getConexao()) or die(mysql_error());

        if (!$resultado) {
            die('Erro na manipulação dos dados');
            return false;
        }
        $conexao->desconecta();
        return true;
    }

    public function getAcao(produtoModel $model) {
        $conexao = new Conexao();
        $sql = "SELECT * FROM  `produto` WHERE `ID_PK` = " . $model->getId() . "";
        $resultado = mysql_query($sql, $conexao->getConexao()) or die(mysql_error());
        $numeroLinha = mysql_num_rows($resultado);
        if ($numeroLinha == 1) {
            return "U"; //update
        } else {
            return "I"; //insert
        }
        $conexao->desconecta();
    }

    public function deleteDados(produtoModel $model) {
        $conexao = new Conexao();
        $sql = " DELETE FROM `produto` WHERE `ID_PK` = " . $model->getId() . "";
        $resultado = mysql_query($sql, $conexao->getConexao()) or die(mysql_error());
        if (!$resultado) {
            die('Erro na exclusão dos dados');
            return false;
        }
        $conexao->desconecta();
        return true;
    }

    public function getDados(produtoModel $model) {
        $conexao = new Conexao();
        $sql = "SELECT 
                `produto`.`ID_PK`,
                `produto`.`CATEGORIA_FK`,
                `categoria`.`NOME` NOME_CATEGORIA,
                `produto`.`NOME`,
                `produto`.`REFERENCIA`,
                `produto`.`ESTOQUE`,
                `produto`.`PRECO_CUSTO`,
                `produto`.`PRECO_VENDA`,
                `produto`.`UNIDADE`
                FROM `produto` `produto`
                inner join `categoria` categoria 
                on `produto`.`CATEGORIA_FK` = `categoria`.`ID_PK`";
        if ($model->getNome() <> "") {
            $sql = $sql . " WHERE `produto`.`NOME` like '%" . $model->getNome() . "%' ";
        } elseif ($model->getId() <> "") {
            $sql = $sql . " WHERE `produto`.`ID_PK` = " . $model->getId() . " ";
        }
        $resultado = mysql_query($sql, $conexao->getConexao()) or die(mysql_error());
        $conexao->desconecta();
        return $resultado;
    }

}
